package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 项目申报对象 sys_project_info
 * 
 * @author riddou
 * @date 2022-04-11
 */
public class SysProjectInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long projectId;

    /** 项目类别 */
    @Excel(name = "项目类别")
    private Long projectType;

    /** 项目方向 */
    @Excel(name = "项目方向")
    private Long direction;

    /** 项目名称 */
    @Excel(name = "项目名称")
    private String name;

    /** 项目实施地点 */
    @Excel(name = "项目实施地点")
    private String location;

    /** 开始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startDate;

    /** 结束日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结束日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endDate;

    /** 经济行业领域 */
    @Excel(name = "经济行业领域")
    private String economicField;

    /** 细分领域1 */
    @Excel(name = "细分领域1")
    private String fieldOne;

    /** 细分领域2 */
    @Excel(name = "细分领域2")
    private String fieldTwo;

    /** 项目总投资 */
    @Excel(name = "项目总投资")
    private Long investment;

    /** 申请专项经费 */
    @Excel(name = "申请专项经费")
    private Long specialMoney;

    /** 项目负责人 */
    @Excel(name = "项目负责人")
    private String leader;

    /** 合作单位id */
    @Excel(name = "合作单位id")
    private Long cooperationId;

    /** 主要研究内容与目标 */
    @Excel(name = "主要研究内容与目标")
    private String researchContent;

    /** 创新点与关键技术 */
    @Excel(name = "创新点与关键技术")
    private String innovationPoint;

    /** 现有基础和实施条件 */
    @Excel(name = "现有基础和实施条件")
    private String basics;

    /** 预期结果与经济、社会效益 */
    @Excel(name = "预期结果与经济、社会效益")
    private String expectation;

    /** 考核指标 */
    @Excel(name = "考核指标")
    private String assessIndicators;

    /** 主要研究人员id（字符串，“，”） */
    @Excel(name = "主要研究人员id", readConverterExp = "字=符串，“，”")
    private String researchers;

    /** 项目可行性报告 */
    @Excel(name = "项目可行性报告")
    private String feasibilityReport;

    /** 附件清单url... */
    @Excel(name = "附件清单url...")
    private String attachment;

    /** 提交时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "提交时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date submitTime;

    /** 项目状态 */
    @Excel(name = "0未提交 1已提交 2审批通过")
    private Long state;

    /** 项目阶段 */
    @Excel(name = "项目阶段")
    private Long stage;

    /** 审核专家名 */
    @Excel(name = "审核专家名")
    private String reviewer;

    /** 审核意见 */
    @Excel(name = "审核意见")
    private String reviewResult;

    /** 项目进度计划 */
    @Excel(name = "项目进度计划")
    private String projectPlan;

    public void setProjectId(Long projectId) 
    {
        this.projectId = projectId;
    }

    public Long getProjectId() 
    {
        return projectId;
    }
    public void setProjectType(Long projectType) 
    {
        this.projectType = projectType;
    }

    public Long getProjectType() 
    {
        return projectType;
    }
    public void setDirection(Long direction) 
    {
        this.direction = direction;
    }

    public Long getDirection() 
    {
        return direction;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setLocation(String location) 
    {
        this.location = location;
    }

    public String getLocation() 
    {
        return location;
    }
    public void setStartDate(Date startDate) 
    {
        this.startDate = startDate;
    }

    public Date getStartDate() 
    {
        return startDate;
    }
    public void setEndDate(Date endDate) 
    {
        this.endDate = endDate;
    }

    public Date getEndDate() 
    {
        return endDate;
    }
    public void setEconomicField(String economicField) 
    {
        this.economicField = economicField;
    }

    public String getEconomicField() 
    {
        return economicField;
    }
    public void setFieldOne(String fieldOne) 
    {
        this.fieldOne = fieldOne;
    }

    public String getFieldOne() 
    {
        return fieldOne;
    }
    public void setFieldTwo(String fieldTwo) 
    {
        this.fieldTwo = fieldTwo;
    }

    public String getFieldTwo() 
    {
        return fieldTwo;
    }
    public void setInvestment(Long investment) 
    {
        this.investment = investment;
    }

    public Long getInvestment() 
    {
        return investment;
    }
    public void setSpecialMoney(Long specialMoney) 
    {
        this.specialMoney = specialMoney;
    }

    public Long getSpecialMoney() 
    {
        return specialMoney;
    }
    public void setLeader(String leader)
    {
        this.leader = leader;
    }

    public String getLeader()
    {
        return leader;
    }
    public void setCooperationId(Long cooperationId) 
    {
        this.cooperationId = cooperationId;
    }

    public Long getCooperationId() 
    {
        return cooperationId;
    }
    public void setResearchContent(String researchContent) 
    {
        this.researchContent = researchContent;
    }

    public String getResearchContent() 
    {
        return researchContent;
    }
    public void setInnovationPoint(String innovationPoint) 
    {
        this.innovationPoint = innovationPoint;
    }

    public String getInnovationPoint() 
    {
        return innovationPoint;
    }
    public void setBasics(String basics) 
    {
        this.basics = basics;
    }

    public String getBasics() 
    {
        return basics;
    }
    public void setExpectation(String expectation) 
    {
        this.expectation = expectation;
    }

    public String getExpectation() 
    {
        return expectation;
    }
    public void setAssessIndicators(String assessIndicators) 
    {
        this.assessIndicators = assessIndicators;
    }

    public String getAssessIndicators() 
    {
        return assessIndicators;
    }
    public void setResearchers(String researchers) 
    {
        this.researchers = researchers;
    }

    public String getResearchers() 
    {
        return researchers;
    }
    public void setFeasibilityReport(String feasibilityReport) 
    {
        this.feasibilityReport = feasibilityReport;
    }

    public String getFeasibilityReport() 
    {
        return feasibilityReport;
    }
    public void setAttachment(String attachment) 
    {
        this.attachment = attachment;
    }

    public String getAttachment() 
    {
        return attachment;
    }
    public void setSubmitTime(Date submitTime) 
    {
        this.submitTime = submitTime;
    }

    public Date getSubmitTime() 
    {
        return submitTime;
    }
    public void setState(Long state) 
    {
        this.state = state;
    }

    public Long getState() 
    {
        return state;
    }
    public void setStage(Long stage) 
    {
        this.stage = stage;
    }

    public Long getStage() 
    {
        return stage;
    }
    public void setReviewer(String reviewer)
    {
        this.reviewer = reviewer;
    }

    public String getReviewer()
    {
        return reviewer;
    }
    public void setReviewResult(String reviewResult) 
    {
        this.reviewResult = reviewResult;
    }

    public String getReviewResult() 
    {
        return reviewResult;
    }
    public void setProjectPlan(String projectPlan) 
    {
        this.projectPlan = projectPlan;
    }

    public String getProjectPlan() 
    {
        return projectPlan;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("projectId", getProjectId())
            .append("projectType", getProjectType())
            .append("direction", getDirection())
            .append("name", getName())
            .append("location", getLocation())
            .append("startDate", getStartDate())
            .append("endDate", getEndDate())
            .append("economicField", getEconomicField())
            .append("fieldOne", getFieldOne())
            .append("fieldTwo", getFieldTwo())
            .append("investment", getInvestment())
            .append("specialMoney", getSpecialMoney())
            .append("leader", getLeader())
            .append("cooperationId", getCooperationId())
            .append("researchContent", getResearchContent())
            .append("innovationPoint", getInnovationPoint())
            .append("basics", getBasics())
            .append("expectation", getExpectation())
            .append("assessIndicators", getAssessIndicators())
            .append("researchers", getResearchers())
            .append("feasibilityReport", getFeasibilityReport())
            .append("attachment", getAttachment())
            .append("submitTime", getSubmitTime())
            .append("state", getState())
            .append("stage", getStage())
            .append("reviewer", getReviewer())
            .append("reviewResult", getReviewResult())
            .append("projectPlan", getProjectPlan())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
